package fr.miage.ageco.dataaccess.mappers;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import fr.miage.ageco.dataaccess.bo.EtapeProjet;

public interface EtapeProjetMapper {

	@Select ("SELECT * FROM EtapeProjet")
	List<EtapeProjet> getAllEtapeProjet();

	@Select("SELECT * FROM EtapeProjet WHERE  id = #{id}")
	EtapeProjet getEtapeProjet(@Param("id") Integer id);

	@Select("SELECT e.id, CONCAT(e.nom,' : ',p.nom) as nom, e.dateDebut, e.dateFin, e.idProjet FROM travaillersur t, etapeprojet e, projet p where p.id = e.idProjet and t.idEtapeProjet = e.id and t.idEmploye= #{idEmploye}")
	List<EtapeProjet> getEtapeProjetForEmploye(@Param("idEmploye") Integer idEmploye);
	
	@Select("select * from etapeprojet where idProjet=#{idProjet}")
	List<EtapeProjet> getEtapeProjetForProjet(@Param("idProjet") Integer idProjet);
	
	@Insert("INSERT INTO EtapeProjet (id, nom, dateDebut, dateFin, idProjet) VALUES (#{id},#{nom},#{dateDebut},#{dateFin},#{idProjet})")
	public int insertEtapeProjet(EtapeProjet etapeprojet);

	@Update("UPDATE EtapeProjet SET nom = #{nom}, dateDebut = #{dateDebut}, dateFin = #{dateFin}, idProjet = #{idProjet}")
	public int updateEtapeProjet(EtapeProjet etapeprojet);
	
	@Delete("DELETE FROM EtapeProjet WHERE id = #{id}")
	public int deleteEtapeProjet(EtapeProjet etapeprojet);
	
	
}
